Using the Startup File
Once the class library is finished compiling the interpreter looks for a file at an operating system dependent path and if such a file exists, executes any code within it. (This happens within Main-startup.) By creating a file in this location you can make user specific customizations.
- On Mac OS X the path is either "/Library/Application Support/SuperCollider/startup.rtf" (i.e. a system-wide file) or "~/Library/Application Support/SuperCollider/startup.rtf" (i.e. a user-specific file). Both files can be used, where the system-wide file is executed before the user-specific file.
- On Linux the path is "~/.sclang.sc"
- On Windows the file is "startup.sc" and needs to be in the same directory as PsyCollider
A common example would be to alter the options of the local and internal Servers:
// placing the following code in the file will cause these modifications to be made
// at startup (see also: ServerOptions)
Server.local.options.numOutputBusChannels = 4; // change number of input and output channels
Server.local.options.numInputBusChannels = 4;
Server.internal.options.numOutputBusChannels = 4;
Server.internal.options.numInputBusChannels = 4;
Server.local.options.device = "Built-in Audio"; // use a specific soundcard
Server.local.options.device = "MOTU Traveler";
Server.local.options.device = "TASCAM US-122";
Server.local.options.device = "Jack Router";
Server.local.options.device = nil; // use the system default soundcard
Server.local.options.blockSize = 128; // increase block size (default is 64)
Server.internal.options.blockSize = 128;
Server.local.options.sampleRate = 96000; // increase sampling rate (if your hardware supports it)
Server.internal.options.sampleRate = 96000;
Server.internal.options.sampleRate = nil; // use the currently selected samplerate of the soundcard
// change the standard synthDef directory to a custom one:
SynthDef.synthDefDir = "~/scwork/synthdefs".standardizePath;
// change the standard archive path to a custom one:
Archive.archiveDir = "~/scwork".standardizePath;
Naturally the file must contain only valid SC expressions.